package member.model.service;

import java.sql.SQLException;

import member.model.dao.MemberDAO;
import member.model.domain.Member;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class MemberService {

	private MemberDAO dao;
	@Autowired
	public MemberService(MemberDAO dao){
		this.dao=dao;
	}
	
	/**
	 * 회원 로그인
	 * @param id
	 * @param password
	 * @return
	 * @throws SQLException
	 */
	public Member login(String id, String password) throws SQLException{
		Member m = dao.selectMemberById(id);
		if(m!=null){ // 1) 일치하는 id가 있고, 일치하는 password가 있을 때
			if(password.equals(m.getMemberPassword())){
				return m;
			}else{  // 1-2) 일치하는 id가 있고, password가 불일치할 때
				return null;
			}
		}
		// 2) 일치하는 id가 없을 때
		return null;
	}
	
	public boolean loginCheck(String id) throws SQLException{
		Member m = dao.selectMemberById(id);
		if(m==null){ //일치하는 id가 없는 경우(가입된 해당id가 없는 경우)
			return false;
		}
		return true;
	}
	
	/**
	 * 회원가입시 아이디 중복 체크(ajax)
	 * @param id
	 * @return
	 * @throws SQLException
	 */
	public boolean idCheck(String id) throws SQLException{
		Member m = dao.selectMemberById(id);
		if(m==null){ //해당하는 id가 없으면(id가 중복되지 않은 경우), false 리턴
			return false;
		}
		return true; //id가 중복되는 경우, true 리턴
	}
	
	/**
	 * 회원 가입
	 * @param member
	 * @throws SQLException
	 */
	public void joinMember(Member member) throws SQLException{
		dao.insertMember(member);
	}
}
